Image classification is an important task in many fields, such as image storing and retrieval, robotics, medical image analysis, closed circuit television security monitoring systems, satellite imaging analysis and others. Incoming images captured by image capture devices are to be classified automatically according to whether they depict particular types of object or show particular characteristics. A downstream system is then controlled using the classification results, for example, to trigger an alarm or to control a robotic vehicle.
A neural network is a collection of nodes interconnected by edges and where there are weights associated with the nodes and/or edges. During a training phase the weights are updated according to update rules in the light of training examples. In the case of image classification, input nodes receive image data and this propagates through the neural network, being transformed by internal nodes it passes through, to generate an output at one or more output nodes.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of neural network image classifiers.